﻿/*------------------------------------------------------------------------

STAGEDDOPENGL.HPP v1.0.1

Copyright 楊志賢 CxxlMan, 2015
All Rights Reserved

DD_OPENGL 內部用，RD 未定義

------------------------------------------------------------------------*/

#if !defined(__STAGEDDD3D9_HPP_Cxxl3D)
#define __STAGEDDD3D9_HPP_Cxxl3D

#include <SMART_PTR.HPP>
#include <Render\Render_Win32\Render_Win32_OpenGL\RENDER_WIN32_OPENGL.HPP>

// 元件介面的識別碼
#define IStageOpenGL_ClassID L"EC85D97A6F974581960A12C56696086F"

class CMutiTextureDD_OpenGL;

namespace Cxxl3D
{

// 用於登記目前作用中的 Stage
// 由 CMutiTextureDDOpenGL.cpp 主動設定
class IStageDDOpenGL:public IDatagramDisposal_OpenGL
{
  virtual void cxxlFASTCALL SetStage(unsigned int Stage) = 0;

public:
  // Constructor
  IStageDDOpenGL()
    :cxxlObject(CxxlMan::Spirit_Easy)
  {
  }

  // Destructor
  virtual ~IStageDDOpenGL()
  {}

  virtual unsigned int cxxlFASTCALL GetStage() = 0;

  friend class CMutiTextureDD_OpenGL;
};

}   /* namespace Cxxl3D */
#endif
